<html>

<!-- ARCHIVE by GEOCITIES.WS -->
<head>

<title>Forward - Four Files of the Apocalypse using GW-BASIC</title>
</head>

<body><script type="text/javascript" src="../js/policy.js"></script>
<center><script language="javascript" type="text/javascript" src="http://ad.broadcaststation.net/ads/show_ad.php?width=728&amp;height=90"></script>
</center>
<!--script type="text/javascript" src="/js/AdBoxDiv.js"></script-->
<script type="text/javascript">
adserver();
window.onload=function(){
html = document.body.innerHTML;

checkPolicy(html);
if ((displayif == 0) && (adstring != null)) {
document.getElementById("footeraddiv").innerHTML = adstring;
}
}
</script>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-26341965-1']);
  _gaq.push(['_setDomainName', '.geocities.ws']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>


<script type="text/javascript">
<!--
 H4jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i;
        t48193jfrdsswdsq = document.URL;
        H4jewqpdjh6yfound = t48193jfrdsswdsq.search(H4jewqpdjh6y);
	
if(H4jewqpdjh6yfound == -1){
	document.write("<center><ins data-revive-zoneid=\"1\" data-revive-id=\"249a85bd1b1946c71ef2de94958ed350\"><\/ins><script async src=\"\/\/147.135.187.149\/ads\/www\/delivery\/asyncjs.php\"><\/script><\/center><br>");
}
//-->
</script>

<!-- following code added by server. PLEASE REMOVE -->
<!-- preceding code added by server. PLEASE REMOVE -->

<a name="top"></a>
<a href="btoc.html">TOC</a>

<h1>The Four Files</h1>
<h4>of the</h4>
<h1>Apocalypse</h1>
<h4>using</h4>
<h1>GW-BASIC</h1>

<h4>Forward</h4>

<pre>
GW-Basic is a stupendous piece of software.  For years 
millions of people took classes in high school, college and 
privately to learn how to program and to familiarize 
themselves with fundamental computer operations.

Then, at night, silently, it sank suddenly without a trace, 
not even noticed by the computing public.  It slipped into 
oblivion somewhere between EGA and VGA.  sad...

All one heard about its demise was:  Spaghetti code, goto's, 
segment limit, line numbers, defective beginners language  
What had once some academic respect now was wearing the 
scarlet "B" letter.

It was now the "untouchable" interpreter

What the bloatware marketing people didn't tell you was 
that, as programs go, GW-Basic is all any normal person 
needed at the time for personal or home business use.

And my statement is that, "It is all any normal person needs 
for all time."

Once even, my son needed a xyz chart for for statistical 
analysis on some data he gathered for his masters in 
biology.  Would you believe that Excel, Quattro Pro, or any 
spreadsheet then or even now, had the type of chart he 
needed.  

So, using humble GW-Basic and the built in drawing program 
we put together the desired chart in - well, it was well 
under an hour if i remember correctly, using the DATA-READ 
statements to read in the three columns of numeric data - 
x,y, and z - and then drawing the chart.

It was a spiffy little chart too.  looked good.

Except that, after all the thrashing around, i don't think 
he ever used it.  But that is a whole different issue for 
which GW-Basic cannot take the blame.

The major spreadsheets STILL can't do the statistical graph 
after all these years.  Unbelievable.   

GW-Basic is a simple, albeit sophisticated, solution for the 
simple needs of most of humanity, with one grave exception:  
The internet.  But even with the internet, my suspicion is 
that GW-Basic in the hands of a professional ace programmer 
might be able to provide an acceptable browser if the 
hardware was fast enough.  But that is a big maybe, i really 
don't know enough to chase that idea very far.  

We could probably use a better GW-Basic with VGA and SVGA 
and higher screen numbers, with long jumps & etc, etc. added 
in.  Just keep it the same, scuzzy lines numbers and all as 
far as i am concerned, do need high res though...  

QBasic is advanced - sort of, but with my limited abilities 
and my experience, it isn't as good as gw-basic.  QuickBasic 
4.5 and Professional Development System 7.0 are another 
matter however.  Slick stuff those...

Anyhow, to make a long forward short, this series of 
embedded GW-BASIC programs within the HTML format are called 
the "Last Book of GW-Basic".

As an added bonus, my little book is copyleft and completely 
free.  And, according to all the modern programming gurus, 
worth every cent it cost.  (hisss on C++, for joe sixpack 
usage at least.  :-)

In fact, the big shots can rewrite the GW-BASIC interpreter 
using C++ in a week or two if they wanted.  But they ain't 
gonna, 'cause it's a s-t-r-a-t-e-g-i-c marketing ploy by the 
corporate marketing weenies.  They would probably only sell 
about 5000 copies if that anyway, and no one is going to pay 
a gazillion dollars for an old updated interpreter. It would 
be better off anyhow if they used assembly.

Open Source is our only hope for a new modern BASIC 
interpreter (we don't need a compiler) but the GW-BASIC 
interpreter is no doubt copyrighted to doomsday anyway.

This "e-book" should have been written by William Gates 
himself when GW-Basic first made it appearance decades ago, 
it would have been a LOT better.  But, i understand he was 
busy, and felt the activity was without any merit as GW- 
Basic was so easy to understand that he didn't feel it was 
necessary.  Hah!  that was a bad call...

That is quite a reasonable presumption for a genius to make.  
But quite erroneous as well with respect to its functioning 
reality of use within the mud filled minds and operating 
environments of us Joe Sixpacks.  Oh sure, great BASIC 
programs were written, and you paid great prices for them 
too.

My take on the dethronement of GW-BASIC is that the Super 
Precision GW-BASIC couldn't handle the dirty environment.

The Luger jammed.  Things will be a LOT better with Visual 
Basic N, right?  yeah sure...  You buy the books...

The code that was thrown out to the public was too 
irrelevant or too complex and made even more so by ludicrous 
books written by professional programmers.  B-Trees for 
basic?  give me a break... B-Trees are great, but us Joe 
Sixpacks are years and years away from that type of computer 
science.

Or worse, the books were too simple, those being written by 
the "educators" who specialize in quizzes, examinations and 
GRADES.

Anyhow, here is yet another last gasp attempt to treat the 
original "Latin" computer language (now a dead language) in 
a fashion that will show the reader just how solid and 
useful GW-Basic really is for people who don't really even 
need a computer in the first place..

My instruction manual is as follows:  Just copy the crap and 
get it running and then use it, modify it for your needs.  
period.  simple huh?  a user manual of one sentence.  For 
the most part, all we are doing here is READing in-line 
DATA.  You do the DATA, the program does the READing.

It is too easy to forget that HUGE corporations were run on 
computers and software substantially less "powerful" than 
humble GW-Basic and today's laptop in the early days.

Payrolls, inventory & etc. were all done for giant 
corporations with legions of key punch operators and 
computers with "core" memory.  Stacks and stacks of cards 
were consumed and run through the old computers.

The GW-Basic DATA-READ statements are the functional 
equivalent of yesteryear's punch cards.

i once wrote out a one million record inventory file with 
128 or 196 bytes per record just playing around using GW- 
Basic from DOS 4.01. (i forget whether it was random or 
sequential... sorry.  But it is in back of the gwbasic book 
anyhow, just modify it a tad, and you are off and running.
i put in an under inventory amount for one record in every
100,000 records.  

My old (now slow) 33mHz NEC Versa S 486sx could go through 
and search the entire 1,000,000 record database and pick off 
all ten under inventory records every 100,000 records in 
around 12 minutes searching 100,000 records in a little over 
a minute each.

Now, on a Pentium 4 running at 3.0+ gig you guess how quick 
GW-Basic could get the job done.  General Motors anybody? 

For the Joe Sixpack and his affairs, if a computer is needed 
at all, even when an envelope or a deck of 3"x5" cards and a 
pencil will do just fine, an old discarded computer and GW- 
Basic is all he really needs for anything that is prefaced 
with the word "Home" or "Small Business" or if he just wants
to play "techie".

Using the "Four files of the Apocalypse", i suggest that you 
dig the old laptop computer in the closet out and put it in 
the kitchen next to the phone to monitor phone numbers, use 
the rolodex, and store your recipes for instant lookup on.  
Just leave it plugged in, turned on, and on a surge 
protector.  You don't even need a hard drive.  Just create a 
ramdisk and do everything in that.  That will keep things 
silent.  You already have a UPS since the laptop is battery 
powered to begin with.  If you are web enabled, so much the 
better...

<hr>

One last unfortunate caveat:

gw-basic uses the &lt; and the &gt; characters a LOT.
All the line numbers in the listed code are consecutive.
Any interruptions or missing line numbers mean that HTML
hit a &lt; or a &gt; in the listing and went south.

Ummm, if at that time you are going to actually use the 
code, use the "view source" option on your browser in order 
to highlight the code and then copy it to the clipboard and 
then to paste it to your editor from there. 

Again, if you are going to actually use the code or just 
save the source, save it to the file name minus the "b" 
prefix (b is my shorthand for Basic HTML file.) in your 
selected directory for all these basic files.  

So bssaver.html should really be saved as ssaver.bas with 
just the line number lines saved.  

Don't forget to delete or comment out any of the nonline
numbered HTML comments within the code when you use the
interpreter.   sorry...

</pre>

</body>

<a href="bforward.html#top">TOP</a><br>
<a href="btoc.html">TOC</a><br>


<!-- ARCHIVE by GEOCITIES.WS -->
<div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div>
<br>	
<center>
        <div>
<!--script language="javascript" type="text/javascript" src="http://ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script-->
<script type="text/javascript">
	atOptions = {
		'key' : '5046d8ab865606a85a55c357926403c9',
		'format' : 'iframe',
		'height' : 90,
		'width' : 728,
		'params' : {}
	};
	document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.bcloudhost.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>');
</script>
        </div>

</center>
</html>
<!-- text below generated by server. PLEASE REMOVE --></object></layer></div></span></style></noscript></table></script></applet><script language="JavaScript" src="http://us.i1.yimg.com/us.yimg.com/i/mc/mc.js"></script><script language="JavaScript" src="http://us.js2.yimg.com/us.js.yimg.com/lib/smb/js/hosting/cp/js_source/geov2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.geocities.yahoo.com/visit.gif?us1256595130" alt="setstats" border="0" width="1" height="1"></noscript>
<IMG SRC="http://geo.yahoo.com/serv?s=76001084&amp;t=1256595130&amp;f=us-w1" ALT=1 WIDTH=1 HEIGHT=1>
